from multiprocessing import Process
import os
import time

filename = "img.png"
size = os.path.getsize(filename)
fr = open(filename, 'rb')  # 打开读取源文件

# 复制图片上半部分
def top():
    fw = open('top.png', 'wb')  # 打开写入文件
    s = size // 2  # 文件大小整除2,取一半
    
    # 指针从头开始, 这个防止另外一个进程先执行导致指针在文件末位,读取不到文件情况, 
    # 但是也要注意是不是同一个资源,不行的话得加进程通讯IPC
    fr.seek(0, 0)
    
    fw.write(fr.read(s))  # 写入
    fr.close()
    fw.close()


def dow():
    fw = open('dow.png', 'wb')  # 打开写入文件
    fr.seek(size // 2, 0)  # 移动指针位置, 到图片一半的位置
    fw.write(fr.read())
    fr.close()
    fw.close()

lie = [top, dow]
lieyd=[]
for item in lie:
    so = Process(target=item)
    so.start()
    lieyd.append(item)
[i.join() for i in lieyd] # 回收
    
